# 使用适用于ARM架构的官方Node.js镜像
FROM arm64v8/node:18 AS build

# 设置工作目录
WORKDIR /app

# 将项目的package.json和package-lock.json复制到容器中
COPY package*.json ./

# 安装项目依赖
RUN npm install

# 复制所有项目文件到容器中
COPY . .

# 构建项目
RUN npm run build

# 使用轻量级的Node.js镜像作为运行环境
FROM arm64v8/node:18-slim

# 设置工作目录
WORKDIR /app

# 复制构建文件和依赖文件
COPY --from=build /app /app

# 安装生产环境所需的依赖
# RUN npm install --production
RUN npm install

# 启动应用
CMD ["npm", "run", "preview"]

# 暴露开发端口
EXPOSE 8000
